From 64decbfd7415f0e634743949ae6e0a52b46452fe Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 11 Oct 2017 15:55:19 +0200 Subject: [PATCH] gdk: Remove GdkEventType argument from GdkEvent union It won't stand true anymore that the GdkEventType argument is the first field of the GdkEvent* structs. All callers have been updated to use event->any.type instead. --- gdk/gdkdnd.c | 2 +- gdk/gdkevents.c | 166 +++++++++++++++------------- gdk/gdkeventsprivate.h | 1 - gdk/gdkwindow.c | 14 +-- gdk/wayland/gdkdevice-wayland.c | 16 +-- gdk/wayland/gdkwindow-wayland.c | 2 +- gdk/x11/gdkdevicemanager-core-x11.c | 2 +- gdk/x11/gdkdnd-x11.c | 4 +- gdk/x11/gdkeventsource.c | 14 +-- gdk/x11/gdkwindow-x11.c | 2 +- gtk/gtkmain.c | 50 ++++----- gtk/gtkwidget.c | 40 +++---- 12 files changed, 163 insertions(+), 150 deletions(-) diff --git a/gdk/gdkdnd.c b/gdk/gdkdnd.c index 2b5d40cb12..e0e0c3e7c7 100644 --- a/gdk/gdkdnd.c +++ b/gdk/gdkdnd.c @@ -1033,7 +1033,7 @@ gdk_drag_context_handle_dest_event (GdkEvent *event) { GdkDragContext *context = NULL; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_DRAG_MOTION: case GDK_DROP_START: diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index ec2cf65398..b3b9727063 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -111,7 +111,7 @@ _gdk_event_queue_find_first (GdkDisplay *display) if (pending_motion) return pending_motion; - if (event->event.type == GDK_MOTION_NOTIFY && (event->flags & GDK_EVENT_FLUSHED) == 0) + if (event->event.any.type == GDK_MOTION_NOTIFY && (event->flags & GDK_EVENT_FLUSHED) == 0) pending_motion = tmp_list; else return tmp_list; @@ -273,7 +273,7 @@ _gdk_event_queue_handle_motion_compression (GdkDisplay *display) if (event->flags & GDK_EVENT_PENDING) break; - if (event->event.type != GDK_MOTION_NOTIFY) + if (event->event.any.type != GDK_MOTION_NOTIFY) break; if (pending_motion_window != NULL && @@ -288,7 +288,7 @@ _gdk_event_queue_handle_motion_compression (GdkDisplay *display) break; pending_motion_window = event->event.any.window; - pending_motion_device = event->motion.device; + pending_motion_device = event->event.motion.device; pending_motions = tmp_list; tmp_list = tmp_list->prev; @@ -713,7 +713,7 @@ guint32 gdk_event_get_time (const GdkEvent *event) { if (event) - switch (event->type) + switch (event->any.type) { case GDK_MOTION_NOTIFY: return event->motion.time; @@ -797,7 +797,7 @@ gdk_event_get_state (const GdkEvent *event, g_return_val_if_fail (state != NULL, FALSE); if (event) - switch (event->type) + switch (event->any.type) { case GDK_MOTION_NOTIFY: *state = event->motion.state; @@ -885,7 +885,7 @@ gdk_event_get_coords (const GdkEvent *event, g_return_val_if_fail (event != NULL, FALSE); - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_CONFIGURE: x = event->configure.x; @@ -957,7 +957,7 @@ gdk_event_get_root_coords (const GdkEvent *event, g_return_val_if_fail (event != NULL, FALSE); - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_MOTION_NOTIFY: x = event->motion.x_root; @@ -1021,7 +1021,7 @@ gdk_event_set_coords (GdkEvent *event, { g_return_if_fail (event != NULL); - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_CONFIGURE: event->configure.x = x; @@ -1085,7 +1085,7 @@ gdk_event_get_button (const GdkEvent *event, g_return_val_if_fail (event != NULL, FALSE); - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_BUTTON_PRESS: case GDK_BUTTON_RELEASE: @@ -1126,7 +1126,7 @@ gdk_event_get_click_count (const GdkEvent *event, g_return_val_if_fail (event != NULL, FALSE); - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_BUTTON_PRESS: case GDK_BUTTON_RELEASE: @@ -1161,7 +1161,7 @@ gdk_event_get_keyval (const GdkEvent *event, gboolean fetched = TRUE; guint number = 0; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_KEY_PRESS: case GDK_KEY_RELEASE: @@ -1182,8 +1182,8 @@ void gdk_event_set_keyval (GdkEvent *event, guint keyval) { - if (event->type == GDK_KEY_PRESS || - event->type == GDK_KEY_RELEASE) + if (event->any.type == GDK_KEY_PRESS || + event->any.type == GDK_KEY_RELEASE) event->key.keyval = keyval; } @@ -1207,7 +1207,7 @@ gdk_event_get_keycode (const GdkEvent *event, gboolean fetched = TRUE; guint16 number = 0; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_KEY_PRESS: case GDK_KEY_RELEASE: @@ -1237,7 +1237,7 @@ gdk_event_get_key_group (const GdkEvent *event, { gboolean fetched = TRUE; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_KEY_PRESS: case GDK_KEY_RELEASE: @@ -1265,7 +1265,7 @@ gdk_event_get_string (const GdkEvent *event, { gboolean fetched = TRUE; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_KEY_PRESS: case GDK_KEY_RELEASE: @@ -1293,7 +1293,7 @@ gdk_event_get_key_is_modifier (const GdkEvent *event, { gboolean fetched = TRUE; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_KEY_PRESS: case GDK_KEY_RELEASE: @@ -1326,7 +1326,7 @@ gdk_event_get_scroll_direction (const GdkEvent *event, gboolean fetched = TRUE; GdkScrollDirection dir = 0; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_SCROLL: if (event->scroll.direction == GDK_SCROLL_SMOOTH) @@ -1366,7 +1366,7 @@ gdk_event_get_scroll_deltas (const GdkEvent *event, gdouble dx = 0.0; gdouble dy = 0.0; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_SCROLL: if (event->scroll.direction == GDK_SCROLL_SMOOTH) @@ -1438,7 +1438,7 @@ gdk_event_get_axis (const GdkEvent *event, { gdouble x, y; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_MOTION_NOTIFY: x = event->motion.x; @@ -1477,21 +1477,21 @@ gdk_event_get_axis (const GdkEvent *event, return TRUE; } - else if (event->type == GDK_BUTTON_PRESS || - event->type == GDK_BUTTON_RELEASE) + else if (event->any.type == GDK_BUTTON_PRESS || + event->any.type == GDK_BUTTON_RELEASE) { device = event->button.device; axes = event->button.axes; } - else if (event->type == GDK_TOUCH_BEGIN || - event->type == GDK_TOUCH_UPDATE || - event->type == GDK_TOUCH_END || - event->type == GDK_TOUCH_CANCEL) + else if (event->any.type == GDK_TOUCH_BEGIN || + event->any.type == GDK_TOUCH_UPDATE || + event->any.type == GDK_TOUCH_END || + event->any.type == GDK_TOUCH_CANCEL) { device = event->touch.device; axes = event->touch.axes; } - else if (event->type == GDK_MOTION_NOTIFY) + else if (event->any.type == GDK_MOTION_NOTIFY) { device = event->motion.device; axes = event->motion.axes; @@ -1525,7 +1525,7 @@ gdk_event_set_device (GdkEvent *event, g_set_object (&private->device, device); - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_MOTION_NOTIFY: event->motion.device = device; @@ -1576,7 +1576,7 @@ gdk_event_get_device (const GdkEvent *event) return private->device; } - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_MOTION_NOTIFY: return event->motion.device; @@ -1593,6 +1593,20 @@ gdk_event_get_device (const GdkEvent *event) case GDK_PROXIMITY_IN: case GDK_PROXIMITY_OUT: return event->proximity.device; + default: + break; + } + + /* Fallback if event has no device set */ + switch (event->any.type) + { + case GDK_MOTION_NOTIFY: + case GDK_BUTTON_PRESS: + case GDK_BUTTON_RELEASE: + case GDK_TOUCH_BEGIN: + case GDK_TOUCH_UPDATE: + case GDK_TOUCH_END: + case GDK_TOUCH_CANCEL: case GDK_ENTER_NOTIFY: case GDK_LEAVE_NOTIFY: case GDK_FOCUS_CHANGE: @@ -1611,13 +1625,13 @@ gdk_event_get_device (const GdkEvent *event) g_warning ("Event with type %d not holding a GdkDevice. " "It is most likely synthesized outside Gdk/GTK+", - event->type); + event->any.type); display = gdk_window_get_display (event->any.window); seat = gdk_display_get_default_seat (display); - if (event->type == GDK_KEY_PRESS || - event->type == GDK_KEY_RELEASE) + if (event->any.type == GDK_KEY_PRESS || + event->any.type == GDK_KEY_RELEASE) return gdk_seat_get_keyboard (seat); else return gdk_seat_get_pointer (seat); @@ -1714,7 +1728,7 @@ gdk_event_triggers_context_menu (const GdkEvent *event) { g_return_val_if_fail (event != NULL, FALSE); - if (event->type == GDK_BUTTON_PRESS) + if (event->any.type == GDK_BUTTON_PRESS) { const GdkEventButton *bevent = (const GdkEventButton *) event; GdkDisplay *display; @@ -1920,10 +1934,10 @@ gdk_event_get_event_sequence (const GdkEvent *event) if (!event) return NULL; - if (event->type == GDK_TOUCH_BEGIN || - event->type == GDK_TOUCH_UPDATE || - event->type == GDK_TOUCH_END || - event->type == GDK_TOUCH_CANCEL) + if (event->any.type == GDK_TOUCH_BEGIN || + event->any.type == GDK_TOUCH_UPDATE || + event->any.type == GDK_TOUCH_END || + event->any.type == GDK_TOUCH_CANCEL) return event->touch.sequence; return NULL; @@ -2087,7 +2101,7 @@ gdk_event_get_event_type (const GdkEvent *event) { g_return_val_if_fail (event != NULL, GDK_NOTHING); - return event->type; + return event->any.type; } /** @@ -2116,7 +2130,7 @@ gdk_event_get_seat (const GdkEvent *event) g_warning ("Event with type %d not holding a GdkSeat. " "It is most likely synthesized outside Gdk/GTK+", - event->type); + event->any.type); device = gdk_event_get_device (event); @@ -2273,12 +2287,12 @@ gdk_event_get_drag_context (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_DRAG_ENTER || - event->type == GDK_DRAG_LEAVE || - event->type == GDK_DRAG_MOTION || - event->type == GDK_DRAG_STATUS || - event->type == GDK_DROP_START || - event->type == GDK_DROP_FINISHED) + if (event->any.type == GDK_DRAG_ENTER || + event->any.type == GDK_DRAG_LEAVE || + event->any.type == GDK_DRAG_MOTION || + event->any.type == GDK_DRAG_STATUS || + event->any.type == GDK_DROP_START || + event->any.type == GDK_DROP_FINISHED) { *context = event->dnd.context; return TRUE; @@ -2301,8 +2315,8 @@ gdk_event_get_crossing_mode (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_ENTER_NOTIFY || - event->type == GDK_LEAVE_NOTIFY) + if (event->any.type == GDK_ENTER_NOTIFY || + event->any.type == GDK_LEAVE_NOTIFY) { *mode = event->crossing.mode; return TRUE; @@ -2325,8 +2339,8 @@ gdk_event_get_crossing_detail (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_ENTER_NOTIFY || - event->type == GDK_LEAVE_NOTIFY) + if (event->any.type == GDK_ENTER_NOTIFY || + event->any.type == GDK_LEAVE_NOTIFY) { *detail = event->crossing.detail; return TRUE; @@ -2349,12 +2363,12 @@ gdk_event_get_touchpad_gesture_phase (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_TOUCHPAD_PINCH) + if (event->any.type == GDK_TOUCHPAD_PINCH) { *phase = event->touchpad_pinch.phase; return TRUE; } - else if (event->type == GDK_TOUCHPAD_SWIPE) + else if (event->any.type == GDK_TOUCHPAD_SWIPE) { *phase = event->touchpad_swipe.phase; return TRUE; @@ -2377,12 +2391,12 @@ gdk_event_get_touchpad_gesture_n_fingers (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_TOUCHPAD_PINCH) + if (event->any.type == GDK_TOUCHPAD_PINCH) { *n_fingers = event->touchpad_pinch.n_fingers; return TRUE; } - else if (event->type == GDK_TOUCHPAD_SWIPE) + else if (event->any.type == GDK_TOUCHPAD_SWIPE) { *n_fingers = event->touchpad_swipe.n_fingers; return TRUE; @@ -2407,13 +2421,13 @@ gdk_event_get_touchpad_deltas (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_TOUCHPAD_PINCH) + if (event->any.type == GDK_TOUCHPAD_PINCH) { *dx = event->touchpad_pinch.dx; *dy = event->touchpad_pinch.dy; return TRUE; } - else if (event->type == GDK_TOUCHPAD_SWIPE) + else if (event->any.type == GDK_TOUCHPAD_SWIPE) { *dx = event->touchpad_swipe.dx; *dy = event->touchpad_swipe.dy; @@ -2437,7 +2451,7 @@ gdk_event_get_touchpad_angle_delta (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_TOUCHPAD_PINCH) + if (event->any.type == GDK_TOUCHPAD_PINCH) { *delta = event->touchpad_pinch.angle_delta; return TRUE; @@ -2460,7 +2474,7 @@ gdk_event_get_touchpad_scale (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_TOUCHPAD_PINCH) + if (event->any.type == GDK_TOUCHPAD_PINCH) { *scale = event->touchpad_pinch.scale; return TRUE; @@ -2483,9 +2497,9 @@ gdk_event_get_touch_emulating_pointer (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_TOUCH_BEGIN || - event->type == GDK_TOUCH_UPDATE || - event->type == GDK_TOUCH_END) + if (event->any.type == GDK_TOUCH_BEGIN || + event->any.type == GDK_TOUCH_UPDATE || + event->any.type == GDK_TOUCH_END) { *emulating = event->touch.emulating_pointer; return TRUE; @@ -2508,7 +2522,7 @@ gdk_event_get_grab_window (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_GRAB_BROKEN) + if (event->any.type == GDK_GRAB_BROKEN) { *window = event->grab_broken.grab_window; return TRUE; @@ -2534,7 +2548,7 @@ gdk_event_get_window_state (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_WINDOW_STATE) + if (event->any.type == GDK_WINDOW_STATE) { *changed = event->window_state.changed_mask; *new_state = event->window_state.new_window_state; @@ -2558,7 +2572,7 @@ gdk_event_get_focus_in (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_FOCUS_CHANGE) + if (event->any.type == GDK_FOCUS_CHANGE) { *focus_in = event->focus_change.in; return TRUE; @@ -2583,21 +2597,21 @@ gdk_event_get_pad_group_mode (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_PAD_GROUP_MODE) + if (event->any.type == GDK_PAD_GROUP_MODE) { *group = event->pad_group_mode.group; *mode = event->pad_group_mode.mode; return TRUE; } - else if (event->type == GDK_PAD_BUTTON_PRESS || - event->type == GDK_PAD_BUTTON_RELEASE) + else if (event->any.type == GDK_PAD_BUTTON_PRESS || + event->any.type == GDK_PAD_BUTTON_RELEASE) { *group = event->pad_button.group; *mode = event->pad_button.mode; return TRUE; } - else if (event->type == GDK_PAD_RING || - event->type == GDK_PAD_STRIP) + else if (event->any.type == GDK_PAD_RING || + event->any.type == GDK_PAD_STRIP) { *group = event->pad_axis.group; *mode = event->pad_axis.mode; @@ -2621,8 +2635,8 @@ gdk_event_get_pad_button (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_PAD_BUTTON_PRESS || - event->type == GDK_PAD_BUTTON_RELEASE) + if (event->any.type == GDK_PAD_BUTTON_PRESS || + event->any.type == GDK_PAD_BUTTON_RELEASE) { *button = event->pad_button.button; return TRUE; @@ -2647,8 +2661,8 @@ gdk_event_get_pad_axis_value (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_PAD_RING || - event->type == GDK_PAD_STRIP) + if (event->any.type == GDK_PAD_RING || + event->any.type == GDK_PAD_STRIP) { *index = event->pad_axis.index; *value = event->pad_axis.value; @@ -2674,7 +2688,7 @@ gdk_event_get_property (const GdkEvent *event, if (!event) return FALSE; - if (event->type == GDK_PROPERTY_NOTIFY) + if (event->any.type == GDK_PROPERTY_NOTIFY) { *property = event->property.atom; *state = event->property.state; @@ -2707,14 +2721,14 @@ gdk_event_get_axes (GdkEvent *event, if (!source_device) return FALSE; - if (event->type == GDK_MOTION_NOTIFY) + if (event->any.type == GDK_MOTION_NOTIFY) { *axes = event->motion.axes; *n_axes = gdk_device_get_n_axes (source_device); return TRUE; } - else if (event->type == GDK_BUTTON_PRESS || - event->type == GDK_BUTTON_RELEASE) + else if (event->any.type == GDK_BUTTON_PRESS || + event->any.type == GDK_BUTTON_RELEASE) { *axes = event->button.axes; *n_axes = gdk_device_get_n_axes (source_device); diff --git a/gdk/gdkeventsprivate.h b/gdk/gdkeventsprivate.h index 5275712038..3c34c38e8a 100644 --- a/gdk/gdkeventsprivate.h +++ b/gdk/gdkeventsprivate.h @@ -687,7 +687,6 @@ struct _GdkEventPadGroupMode { */ union _GdkEvent { - GdkEventType type; GdkEventAny any; GdkEventExpose expose; GdkEventMotion motion; diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 80cb046744..f9b8e5e718 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -5670,7 +5670,7 @@ _gdk_windowing_got_event (GdkDisplay *display, goto out; #ifdef DEBUG_WINDOW_PRINTING - if (event->type == GDK_KEY_PRESS && + if (event->any.type == GDK_KEY_PRESS && (event->key.keyval == 0xa7 || event->key.keyval == 0xbd)) { @@ -5681,17 +5681,17 @@ _gdk_windowing_got_event (GdkDisplay *display, if (event_window->window_type == GDK_WINDOW_ROOT) goto out; - if (event->type == GDK_ENTER_NOTIFY) + if (event->any.type == GDK_ENTER_NOTIFY) _gdk_display_set_window_under_pointer (display, device, event_window); - else if (event->type == GDK_LEAVE_NOTIFY) + else if (event->any.type == GDK_LEAVE_NOTIFY) _gdk_display_set_window_under_pointer (display, device, NULL); - if ((event->type == GDK_BUTTON_RELEASE || - event->type == GDK_TOUCH_CANCEL || - event->type == GDK_TOUCH_END) && + if ((event->any.type == GDK_BUTTON_RELEASE || + event->any.type == GDK_TOUCH_CANCEL || + event->any.type == GDK_TOUCH_END) && !event->any.send_event) { - if (event->type == GDK_BUTTON_RELEASE || + if (event->any.type == GDK_BUTTON_RELEASE || gdk_event_get_pointer_emulated (event)) { button_release_grab = diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c index 66c89efd3c..f6fd4634f0 100644 --- a/gdk/wayland/gdkdevice-wayland.c +++ b/gdk/wayland/gdkdevice-wayland.c @@ -1344,7 +1344,7 @@ gdk_wayland_seat_get_frame_event (GdkWaylandSeat *seat, GdkEventType evtype) { if (seat->pointer_info.frame.event && - seat->pointer_info.frame.event->type != evtype) + seat->pointer_info.frame.event->any.type != evtype) gdk_wayland_seat_flush_frame_event (seat); seat->pointer_info.frame.event = gdk_event_new (evtype); @@ -2461,7 +2461,7 @@ emit_gesture_swipe_event (GdkWaylandSeat *seat, GDK_NOTE (EVENTS, g_message ("swipe event %d, coords: %f %f, seat %p state %d", - event->type, event->touchpad_swipe.x, + event->any.type, event->touchpad_swipe.x, event->touchpad_swipe.y, seat, event->touchpad_swipe.state)); @@ -2565,7 +2565,7 @@ emit_gesture_pinch_event (GdkWaylandSeat *seat, GDK_NOTE (EVENTS, g_message ("pinch event %d, coords: %f %f, seat %p state %d", - event->type, event->touchpad_pinch.x, + event->any.type, event->touchpad_pinch.x, event->touchpad_pinch.y, seat, event->touchpad_pinch.state)); @@ -3244,7 +3244,7 @@ gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet, if (!event) return; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_MOTION_NOTIFY: event->motion.time = time; @@ -3272,7 +3272,7 @@ gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet, return; } - if (event->type == GDK_PROXIMITY_OUT) + if (event->any.type == GDK_PROXIMITY_OUT) emulate_crossing (event->any.window, NULL, tablet->master, GDK_LEAVE_NOTIFY, GDK_CROSSING_NORMAL, time); @@ -3280,7 +3280,7 @@ gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet, _gdk_wayland_display_deliver_event (gdk_seat_get_display (tablet->seat), event); - if (event->type == GDK_PROXIMITY_IN) + if (event->any.type == GDK_PROXIMITY_IN) emulate_crossing (event->any.window, NULL, tablet->master, GDK_ENTER_NOTIFY, GDK_CROSSING_NORMAL, time); @@ -3291,7 +3291,7 @@ gdk_wayland_tablet_get_frame_event (GdkWaylandTabletData *tablet, GdkEventType evtype) { if (tablet->pointer_info.frame.event && - tablet->pointer_info.frame.event->type != evtype) + tablet->pointer_info.frame.event->any.type != evtype) gdk_wayland_tablet_flush_frame_event (tablet, GDK_CURRENT_TIME); tablet->pointer_info.frame.event = gdk_event_new (evtype); @@ -3726,7 +3726,7 @@ tablet_tool_handle_frame (void *data, frame_event = tablet->pointer_info.frame.event; - if (frame_event && frame_event->type == GDK_PROXIMITY_OUT) + if (frame_event && frame_event->any.type == GDK_PROXIMITY_OUT) { tool->current_tablet = NULL; tablet->current_tool = NULL; diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c index d7fa1861e0..d6281cd339 100644 --- a/gdk/wayland/gdkwindow-wayland.c +++ b/gdk/wayland/gdkwindow-wayland.c @@ -3602,7 +3602,7 @@ gdk_wayland_window_show_window_menu (GdkWindow *window, double x, y; uint32_t serial; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_BUTTON_PRESS: case GDK_BUTTON_RELEASE: diff --git a/gdk/x11/gdkdevicemanager-core-x11.c b/gdk/x11/gdkdevicemanager-core-x11.c index 8394fd8504..a8b87a835c 100644 --- a/gdk/x11/gdkdevicemanager-core-x11.c +++ b/gdk/x11/gdkdevicemanager-core-x11.c @@ -226,7 +226,7 @@ translate_key_event (GdkDisplay *display, if (GDK_DEBUG_CHECK (EVENTS)) { g_message ("%s:\t\twindow: %ld key: %12s %d", - event->type == GDK_KEY_PRESS ? "key press " : "key release", + event->any.type == GDK_KEY_PRESS ? "key press " : "key release", xevent->xkey.window, event->key.keyval ? gdk_keyval_name (event->key.keyval) : "(none)", event->key.keyval); diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index b7a57bdd34..367eaa6df6 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -3369,10 +3369,10 @@ gdk_x11_drag_context_handle_event (GdkDragContext *context, if (!context->is_source) return FALSE; - if (!x11_context->grab_seat && event->type != GDK_DROP_FINISHED) + if (!x11_context->grab_seat && event->any.type != GDK_DROP_FINISHED) return FALSE; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_MOTION_NOTIFY: return gdk_dnd_handle_motion_event (context, &event->motion); diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index 5c5ce1bafd..3d2917feae 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -357,8 +357,8 @@ gdk_event_source_translate_event (GdkX11Display *x11_display, } if (event && - (event->type == GDK_ENTER_NOTIFY || - event->type == GDK_LEAVE_NOTIFY) && + (event->any.type == GDK_ENTER_NOTIFY || + event->any.type == GDK_LEAVE_NOTIFY) && event->any.window != NULL) { /* Handle focusing (in the case where no window manager is running */ @@ -366,11 +366,11 @@ gdk_event_source_translate_event (GdkX11Display *x11_display, } if (event && - (event->type == GDK_TOUCH_BEGIN || - event->type == GDK_TOUCH_END || - event->type == GDK_MOTION_NOTIFY || - event->type == GDK_ENTER_NOTIFY || - event->type == GDK_LEAVE_NOTIFY)) + (event->any.type == GDK_TOUCH_BEGIN || + event->any.type == GDK_TOUCH_END || + event->any.type == GDK_MOTION_NOTIFY || + event->any.type == GDK_ENTER_NOTIFY || + event->any.type == GDK_LEAVE_NOTIFY)) { handle_touch_synthetic_crossing (event); } diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 16521b79fd..a30861827e 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -4863,7 +4863,7 @@ gdk_x11_window_show_window_menu (GdkWindow *window, double x_root, y_root; XClientMessageEvent xclient = { 0 }; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_BUTTON_PRESS: case GDK_BUTTON_RELEASE: diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index d3cc7e7a28..1a21eefa6c 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1207,7 +1207,7 @@ rewrite_event_for_window (GdkEvent *event, { event = gdk_event_copy (event); - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_SCROLL: rewrite_events_translate (event->any.window, @@ -1278,7 +1278,7 @@ rewrite_event_for_grabs (GdkEvent *event) GdkDisplay *display; GdkDevice *device; - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_SCROLL: case GDK_BUTTON_PRESS: @@ -1511,7 +1511,7 @@ gtk_synthesize_crossing_events (GtkWindow *toplevel, static gboolean is_pointing_event (GdkEvent *event) { - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_MOTION_NOTIFY: case GDK_ENTER_NOTIFY: @@ -1555,7 +1555,7 @@ handle_pointing_event (GdkEvent *event) sequence = gdk_event_get_event_sequence (event); - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_LEAVE_NOTIFY: if (event->crossing.mode == GDK_CROSSING_GRAB || @@ -1565,7 +1565,7 @@ handle_pointing_event (GdkEvent *event) case GDK_TOUCH_CANCEL: old_target = update_pointer_focus_state (toplevel, event, NULL); - if (event->type == GDK_LEAVE_NOTIFY) + if (event->any.type == GDK_LEAVE_NOTIFY) gtk_synthesize_crossing_events (toplevel, old_target, NULL, event, event->crossing.mode); break; @@ -1581,7 +1581,7 @@ handle_pointing_event (GdkEvent *event) target = GTK_WIDGET (toplevel); old_target = update_pointer_focus_state (toplevel, event, target); - if (event->type == GDK_MOTION_NOTIFY || event->type == GDK_ENTER_NOTIFY) + if (event->any.type == GDK_MOTION_NOTIFY || event->any.type == GDK_ENTER_NOTIFY) { if (!gtk_window_lookup_pointer_focus_implicit_grab (toplevel, device, sequence)) @@ -1593,7 +1593,7 @@ handle_pointing_event (GdkEvent *event) gtk_window_maybe_update_cursor (toplevel, NULL, device); } - if (event->type == GDK_TOUCH_BEGIN) + if (event->any.type == GDK_TOUCH_BEGIN) gtk_window_set_pointer_focus_grab (toplevel, device, sequence, target); /* Let it take the effective pointer focus anyway, as it may change due @@ -1607,10 +1607,10 @@ handle_pointing_event (GdkEvent *event) device, sequence); gtk_window_set_pointer_focus_grab (toplevel, device, sequence, - event->type == GDK_BUTTON_PRESS ? + event->any.type == GDK_BUTTON_PRESS ? target : NULL); - if (event->type == GDK_BUTTON_RELEASE) + if (event->any.type == GDK_BUTTON_RELEASE) { old_target = target; target = gtk_widget_pick (GTK_WIDGET (toplevel), x, y); @@ -1743,7 +1743,7 @@ gtk_main_do_event (GdkEvent *event) * This is the key to implementing modality. */ if (!grab_widget || - ((gtk_widget_is_sensitive (event_widget) || event->type == GDK_SCROLL) && + ((gtk_widget_is_sensitive (event_widget) || event->any.type == GDK_SCROLL) && gtk_widget_is_ancestor (event_widget, grab_widget))) grab_widget = event_widget; @@ -1774,7 +1774,7 @@ gtk_main_do_event (GdkEvent *event) * Drag events are also not redirected, since it isn't * clear what the semantics of that would be. */ - switch (event->type) + switch (event->any.type) { case GDK_NOTHING: break; @@ -1841,7 +1841,7 @@ gtk_main_do_event (GdkEvent *event) gboolean mnemonics_visible; GtkWidget *window; - mnemonics_visible = (event->type == GDK_KEY_PRESS); + mnemonics_visible = (event->any.type == GDK_KEY_PRESS); window = gtk_widget_get_toplevel (grab_widget); if (GTK_IS_WINDOW (window)) @@ -1893,15 +1893,15 @@ gtk_main_do_event (GdkEvent *event) break; } - if (event->type == GDK_ENTER_NOTIFY - || event->type == GDK_LEAVE_NOTIFY - || event->type == GDK_BUTTON_PRESS - || event->type == GDK_KEY_PRESS - || event->type == GDK_DRAG_ENTER - || event->type == GDK_GRAB_BROKEN - || event->type == GDK_MOTION_NOTIFY - || event->type == GDK_TOUCH_UPDATE - || event->type == GDK_SCROLL) + if (event->any.type == GDK_ENTER_NOTIFY + || event->any.type == GDK_LEAVE_NOTIFY + || event->any.type == GDK_BUTTON_PRESS + || event->any.type == GDK_KEY_PRESS + || event->any.type == GDK_DRAG_ENTER + || event->any.type == GDK_GRAB_BROKEN + || event->any.type == GDK_MOTION_NOTIFY + || event->any.type == GDK_TOUCH_UPDATE + || event->any.type == GDK_SCROLL) { _gtk_tooltip_handle_event (event); } @@ -2422,7 +2422,7 @@ gtk_get_event_widget (const GdkEvent *event) widget = NULL; if (event && event->any.window && - (event->type == GDK_DESTROY || !gdk_window_is_destroyed (event->any.window))) + (event->any.type == GDK_DESTROY || !gdk_window_is_destroyed (event->any.window))) { gdk_window_get_user_data (event->any.window, &widget_ptr); widget = widget_ptr; @@ -2499,7 +2499,7 @@ propagate_event_up (GtkWidget *widget, * event */ if (!gtk_widget_is_sensitive (widget)) - handled_event = event->type != GDK_SCROLL; + handled_event = event->any.type != GDK_SCROLL; else handled_event = gtk_widget_event (widget, event); @@ -2549,7 +2549,7 @@ propagate_event_down (GtkWidget *widget, /* stop propagating on SCROLL, but don't handle the event, so it * can propagate up again and reach its handling widget */ - if (event->type == GDK_SCROLL) + if (event->any.type == GDK_SCROLL) break; else handled_event = TRUE; @@ -2573,7 +2573,7 @@ propagate_event (GtkWidget *widget, propagate_func = captured ? _gtk_widget_captured_event : gtk_widget_event; - if (event->type == GDK_KEY_PRESS || event->type == GDK_KEY_RELEASE) + if (event->any.type == GDK_KEY_PRESS || event->any.type == GDK_KEY_RELEASE) { /* Only send key events within Window widgets to the Window * The Window widget will in turn pass the diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 5441fe5b13..76459f8b42 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3390,20 +3390,20 @@ _gtk_widget_emulate_press (GtkWidget *widget, if (event_widget == widget) return; - if (event->type == GDK_TOUCH_BEGIN || - event->type == GDK_TOUCH_UPDATE || - event->type == GDK_TOUCH_END) + if (event->any.type == GDK_TOUCH_BEGIN || + event->any.type == GDK_TOUCH_UPDATE || + event->any.type == GDK_TOUCH_END) { press = gdk_event_copy (event); - press->type = GDK_TOUCH_BEGIN; + press->any.type = GDK_TOUCH_BEGIN; } - else if (event->type == GDK_BUTTON_PRESS || - event->type == GDK_BUTTON_RELEASE) + else if (event->any.type == GDK_BUTTON_PRESS || + event->any.type == GDK_BUTTON_RELEASE) { press = gdk_event_copy (event); - press->type = GDK_BUTTON_PRESS; + press->any.type = GDK_BUTTON_PRESS; } - else if (event->type == GDK_MOTION_NOTIFY) + else if (event->any.type == GDK_MOTION_NOTIFY) { press = gdk_event_new (GDK_BUTTON_PRESS); press->any.window = g_object_ref (event->any.window); @@ -3493,9 +3493,9 @@ _gtk_widget_get_emulating_sequence (GtkWidget *widget, last_event = _gtk_widget_get_last_event (widget, sequence); if (last_event && - (last_event->type == GDK_TOUCH_BEGIN || - last_event->type == GDK_TOUCH_UPDATE || - last_event->type == GDK_TOUCH_END) && + (last_event->any.type == GDK_TOUCH_BEGIN || + last_event->any.type == GDK_TOUCH_UPDATE || + last_event->any.type == GDK_TOUCH_END) && last_event->touch.emulating_pointer) return TRUE; } @@ -6357,7 +6357,7 @@ gtk_widget_real_grab_broken_event (GtkWidget *widget, } #define WIDGET_REALIZED_FOR_EVENT(widget, event) \ - (event->type == GDK_FOCUS_CHANGE || _gtk_widget_get_realized(widget)) + (event->any.type == GDK_FOCUS_CHANGE || _gtk_widget_get_realized(widget)) /** * gtk_widget_event: @@ -6383,7 +6383,7 @@ gtk_widget_event (GtkWidget *widget, g_return_val_if_fail (GTK_IS_WIDGET (widget), TRUE); g_return_val_if_fail (WIDGET_REALIZED_FOR_EVENT (widget, event), TRUE); - if (event->type == GDK_EXPOSE) + if (event->any.type == GDK_EXPOSE) { g_warning ("Events of type GDK_EXPOSE cannot be synthesized. To get " "the same effect, call gdk_window_invalidate_rect/region(), " @@ -6483,7 +6483,7 @@ _gtk_widget_captured_event (GtkWidget *widget, g_return_val_if_fail (GTK_IS_WIDGET (widget), TRUE); g_return_val_if_fail (WIDGET_REALIZED_FOR_EVENT (widget, event), TRUE); - if (event->type == GDK_EXPOSE) + if (event->any.type == GDK_EXPOSE) { g_warning ("Events of type GDK_EXPOSE cannot be synthesized. To get " "the same effect, call gdk_window_invalidate_rect/region(), " @@ -6524,7 +6524,7 @@ event_window_is_still_viewable (const GdkEvent *event) * at the last moment, since the event may have been queued * up behind other events, held over a recursive main loop, etc. */ - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_EXPOSE: case GDK_MOTION_NOTIFY: @@ -6591,7 +6591,7 @@ gtk_widget_event_internal (GtkWidget *widget, return TRUE; /* Non input events get handled right away */ - switch ((guint) event->type) + switch ((guint) event->any.type) { case GDK_EXPOSE: case GDK_NOTHING: @@ -6615,7 +6615,7 @@ gtk_widget_event_internal (GtkWidget *widget, return_val |= _gtk_widget_run_controllers (widget, event_copy, GTK_PHASE_TARGET); /* XXX: Tooltips should be handled through captured events in the toplevel */ - if (event_copy->type == GDK_FOCUS_CHANGE) + if (event_copy->any.type == GDK_FOCUS_CHANGE) { if (event_copy->focus_change.in) _gtk_tooltip_focus_in (widget); @@ -6644,7 +6644,7 @@ gtk_widget_emit_event_signals (GtkWidget *widget, { gint signal_num; - switch (event->type) + switch (event->any.type) { case GDK_DRAG_ENTER: case GDK_DRAG_LEAVE: @@ -6731,7 +6731,7 @@ gtk_widget_emit_event_signals (GtkWidget *widget, signal_num = GRAB_BROKEN_EVENT; break; default: - g_warning ("gtk_widget_event(): unhandled event type: %d", event->type); + g_warning ("gtk_widget_event(): unhandled event type: %d", event->any.type); signal_num = -1; break; } @@ -13336,7 +13336,7 @@ gtk_widget_send_focus_change (GtkWidget *widget, gboolean res; g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - g_return_val_if_fail (event != NULL && event->type == GDK_FOCUS_CHANGE, FALSE); + g_return_val_if_fail (event != NULL && event->any.type == GDK_FOCUS_CHANGE, FALSE); g_object_ref (widget); -- 2.30.2